package cn.alex.sso.project.mapper;

import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 统计
 *
 * @author Alex
 * @date 2025/1/13 下午12:58
 */
public interface StatisticsMapper {

    /**
     * 查询总数据
     *
     * @return Map
     * userTotal:总计用户
     * clientTotal:应用总计
     * loginTotal:应用总计访问量
     */
    Map<String, Object> selectTotal();

    /**
     * 查询应用访问量
     *
     * @param params 查询参数
     * @return List
     */
    List<Map<String, Object>> selectClientRankList(@Param("params") Map<String, String> params);

    /**
     * 查询应用访问量
     *
     * @param format   日期格式化
     * @param clientId 应用ID
     * @return List
     */
    List<Map<String, Object>> selectClientVisitList(@Param("format") String format, @Param("clientId") Long clientId);
}
